ZigBee技术的树簇网络监控系统设计
摘要 介绍一种基于ZigBee协议栈Z-Stack的仓库无线实时监控系统解决方案;应用首款支持ZigBee协议的单芯片 CC2430及多种传感器实现了硬件平台。分析Z-stack NWK层工作原理,完成了多跳路由树簇网络的组网实验,并实际应用于某烟草仓库。结果表明:所设计的监控系统具有较好的通用性、网络鲁棒性,很容易在工业控制监控、楼宇自动化领域推广应用。
关键词 ZigBee Z-Stack 树簇拓扑 CC2430 监控系统
引 言
仓库监控系统是仓库自动化管理的重要组成部分。监控系统可对大面积范围多部位地区实行实时有效的监控,并对得到的信息进行及时处理,以保证物资安全储存。传统监控系统存在因采用有线连接方式而导致的可靠性差、易受损、布线麻烦等问题。随着半导体技术、微系统技术、通信技术和计算机技术的飞速发展,无线传感器网络(WSN)的出现恰好可以解决这类问题;而具有低成本、小体积、低功耗、低传输速率的ZigBee技术无疑成为目前无线传感器网络应用的首选技术之一。
自2004年ZigBee联盟正式发布ZigBee技术标准以来,许多公司厂商陆续推出了自己的芯片产品和开发系统,如飞思卡尔公司的MC13192, TI公司的CC24xx系列,Atmel公司的AT86RF系列等。目前,对ZigBee技术的研究与应用也几乎是基于以上的芯片。
本文在Z-Stack基础上,成功组建了一个树簇拓扑网络监控系统。在该网络中,子节点将传感器采集的4类数据以多跳的方式发往sink节点,在父节点失效的情况下,子节点能够找到其他数据路径,从而实现了数据的可靠传输。
1 总体方案架构
1.1 系统需求分析
仓库为长方形,面积600 m2,所存储物资是烟草,属于贵重物品,所以设计的系统需要具备以下功能:
①防盗防破坏。贵重物品是犯罪分子盗窃和破坏的目标。案例分析表明,破门破窗而人占有很大比例,还有挖墙和揭顶而入的。
②防火报警。库房物资属于易燃物品,而且非常密集,如果火灾发现晚会增加灭火困难,造成重大经济损失;对其监控有利于提前发现灾情,及时采取对策。
③温湿度监控。物资在仓库集中存储,易受环境影响,对环境温湿度的监控可以避免因库房温湿度的变化而造成烟叶霉变或糙碎,达到提高烟叶自然醇化质量和卷烟制成品的内在品质的目的。
④无线通信。采用电缆布线缺点明显,易对系统造成不必要的干扰且存在火灾的隐患。
1.2 系统方案设计
无线通信中,在接收灵敏度一定的情况下,无线发射功率P和接收半径R之间的关系是P正比于 R2~R5。在长距离数据传输情况下,能耗情况会十分严重,特别是对于能量有限的系统来说,会造成节点过早死亡,所以直接数据传输的星形网络不能满足需要,只能采用具有多级中继路由节点的树簇网络。系统总体结构示意图如图1所示。
网络中的设备分为三种:终端设备、路由器、协调器。其中终端设备为RFD,其他两种为FFD。RFD作为树枝末位的节点,一次只能连接一个FFD设备。
因为温度湿度信号不会突变,所以在正常情况下每120s采集1次的频率足够满足要求。成功发送数据后RFD节点进入休眠状态,以节省能量;但是若探测到烟雾或者有人闯入,节点将以突发的方式传送数据,以求数据达到监控终端的延时最小。
2 节点硬件设计
由于节点的数量较大,为了方便生产,将FFD和RFD设备的主要区别放在软件方面;而硬件部分除了协调器具有UART接口外,其他都是相同的。总体分为核心单元CC2430、传感器模块以及电源管理模块3部分。硬件的总体框图如图2所示。
2.1 核心单元CC2430
CC2430是TI公司推出的支持ZigBee协议的SoC解决方案,可用于各种ZigBee无线节点,包括协调器、路由器和终端设备。它延用了 CC2420芯片的架构,在单个芯片上整合了ZigBee射频(RF)前端、存储器和微控制器。CC2430F128内嵌增强型8051 MCU,8 KB RAM,128 KBFlash,包含8路ADC、3个定时器、AESl28加密电路,MAC协处理器、看门狗定时器,以及21个可编程I/O引脚,支持4种不同程度的休眠模式。
2.2 传感器模块
(1)温湿度传感器
采用瑞士Sensirion传感器公司推出的SHT1O温湿度一体传感器。该传感器芯片由温度和湿度探头、校准存储器、14位模数转换器、双向I/O两线串行输出接口组成。其工作电压为2.4~5.5 V,支持闲时自动低功耗。测湿精度为±4.5%RH,25℃时测温精度为±0.5℃。SHT10对温度或湿度的测量由串行输入的指令确定,测量值的输出可选择为8位、12位或14位。
(2)烟雾报警传感器和人体红外传感器考虑到监控人员对烟雾和闯入人员的信息需求只限为“有”或“没有”,因此两种传感器只需在事件发生时传递一个脉冲信号即可。此脉冲经过滤波限流后输入CC2430的I/O口,将相应的I/O口设置为上升沿中断检测模式即可检测信号。
烟雾报警传感器采用SH-533模块,搭载TP1.1气体传感器,附带蜂鸣器、LED报警指示;工作电压7~20 V,静态电流10 mA,检测面积为10 m2左右。烟雾触发输出为5 V高电平脉冲信号,由于CC2430工作电压为3.3 V,所以用电阻对其做了简单的分压。
人体红外传感器采用sH-912模块,搭载PIR热释电传感器并配合菲涅尔透镜使用;工作电压4.5~20 V,静态电流50 μA,感应角度110°,最大感应距离7 m。红外触发输出3.3 V脉冲信号。
2.3 电源管理模块
为保证传感器采集数据的及时传递,减小终端在竞争信道过程中产生的碰撞造成能量的损耗,本系统中FFD设备采用不间断供电(UPS)。即使在库房掉电的情况下,FFD设备也能靠充电电池维持工作。
3 软件设计
3.1 Z-Stack简介
Z-Stack是由TI公司推出的基于ZigBee标准的协议栈软件,可在www.focu.ti.com.cn免费下载。它包含了ZigBee标准描述的各层次的功能组件模块,向开发人员提供了一系列的API。通过调用这些API,可以实现ZigBee标准中各层次的相应功能。基于这些功能模块,可以更便捷地开发出各种基于ZigBee协议的应用产品。图3为Z-Stack结构。(注:Z-Stack协议栈核心的部分,包括安全模块、路由模块、Mesh 网络支持等,都只以库的方式提供。)
在终端设备嵌入式软件中,操作系统模块主要实现的是简单的任务轮询和工作调度的功能,同时还需实现节点硬件的初始化和功能配置。这个操作系统模块不是真正意义上的操作系统,而是一个具有操作系统任务调度功能的模块。该操作系统模块在Z-Stack中由OSAL组件构成。操作系统模块的任务调度具体方式是:首先,为需要实现的功能建立任务,且每一个任务有不同的事件。当操作系统运行时,会不间断地轮询所有任务的标志位。若标志位有效,则表明该任务有事件发生,调用任务事件处理函数,并在任务处理函数中,根据标志位,判断是什么事件发生。然后,系统做出对应的操作,最后将标志位清零。
3.2 树簇拓扑的形成及路径发现与维护
由于文章篇幅有限,不能依次介绍方案中比较关键的应用层、硬件描述层、NWK层以及OSAL,以下着重描述NWK层的树簇拓扑的形成以及路径的发现与维护。
Z-Stack总共默认65 000个设备入网。为保证网络中每个节点的地址是唯一的,使用了分布式寻址方案,由父节点分配子节点地址。此种算法保证了控制端的数据包能够精确地发送到指定设备,子节点也只能有一个父节点,有助于网络的可测量性。在网络初始化之前,有几个参数需要配置,分别是MAX_DEPTH、MAX_ROUTERS 和MAX_CHILDREN[6]。
MAX_DEPTH决定了网络的最大深度。协调器在最顶层,位于深度0;它的子节点位于深度1,依此类推。MAX_CHILDREN决定了一个路由器或者一个协调器可以处理的最大子节点个数。MAX_ROUTERS决定了一个路由器或者一个协调器可以连接的最大路由器的个数。这个参数是 MAX_CHILDREN的一个子集,终端设备使用(MAX_CHILDREN-MAX_ROUTERS)剩下的地址空间。图4为使用自定义栈配置后的网络拓扑和节点地址分配示意图。LAYER1最多20个节点,其中包含6个路由节点。
提交
超越传统直觉,MATLAB/Simulink助力重型机械的智能化转型
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会